package com.sz.biz.logistics.base.service;

import com.sz.biz.logistics.base.entity.ShippingLineSetting;
import com.sz.biz.logistics.base.dto.ShippingLineSettingDto;
import com.sz.common.base.dto.QueryParams;
import com.sz.common.base.dto.ResultDto;

import java.util.List;

/**
 * Function: ShippingLineSettingService <br>
 * Author: wentao.chang <br>
 * Date: 2017-08-21 15:47:00
 */
public interface ShippingLineSettingService {
    /**
     * 新增船期
     *
     * @param shippingLineSettingDto shippingLineSettingDto
     * @return int
     */
    int save(ShippingLineSettingDto shippingLineSettingDto);

    /**
     * 修改船期
     *
     * @param id                     id
     * @param shippingLineSettingDto shippingLineSettingDto
     * @return int
     */
    int update(Integer id, ShippingLineSettingDto shippingLineSettingDto);

    /**
     * 根据ShipIds删除船期
     *
     * @param ids ids
     */
    void deleteByIds(List<Integer> ids);

    /**
     * 根据id查询船期信息
     *
     * @param id id
     * @return ShippingLineSettingDto
     */
    ShippingLineSettingDto findById(int id);

    /**
     * 根据id查询船期信息
     *
     * @param id id
     * @return ShippingLineSetting
     */
    ShippingLineSetting findSimpleById(int id);

    /**
     * 根据ids查询船班信息
     *
     * @param ids ids
     * @return Flight
     */
    List<ShippingLineSetting> findSimpleByIds(List<Integer> ids);

    /**
     * 根据条件分页查询船期
     *
     * @return ResultDto
     */
    ResultDto findShippingLineSettingListPage(QueryParams params);

    /**
     * 根据条件分页查询船期短接口
     *
     * @return ResultDto
     */
    ResultDto findShippingLineSettingShortListPage(QueryParams params);

    /**
     * @param code code
     * @param id   id
     */
    void checkCode(String code, Integer id);

}
